javac : invalid target release: 1. 8
全部标签 我正在使用com.sun.tools.javac.Main.compile()函数在运行时从我的struts项目编译java文件。但是对于某些文件,他们需要一些特定的jar,例如axis2。我有jar,但如何将它们设置为类路径以在运行时编译java文件?我尝试使用System.setProperty("java.class.path","jardir");但编译失败。 最佳答案 以下使用com.sun.tools.javac.Main的代码对我有用:苹果.java//ThisclassispackagedinajarnamedMyJ
这个问题在这里已经有了答案:Whycanthisgenericmethodwithaboundreturnanytype?(1个回答)关闭4年前。为什么javac在此代码示例中不会因类型错误而中止importjava.util.List;publicclassStaticMethodWithBoundedReturnType{staticclassFoo{}staticclassBarextendsFoo{}staticFgetFoo(Stringstring){…}publicstaticvoidmain(String[]args){//Compileswithouterror,ev
从Java1.5左右开始,javac一直在查看第三方jar的list以找到其他jar。这会导致一些不良的副作用:由于jar文件已重命名,我们现在每次编译时都会收到大量警告(可以使用-Xlint:-path禁用)我们不希望出现在类路径中的文件会被放回其中,即使它们出于某种原因被保留在其中也是如此。构建过程中需要额外的时间来查找所有这些额外的jar,因为我们实际上并不需要这些内容的解析。所以我想知道是否有人知道禁用它的魔法调用。假设Sun没有给我们带来另一个我们不想要并且一旦拥有就无法关闭的功能。 最佳答案 这是一个修改list文件的A
我对AspectJ编译器ajc的工作方式有点困惑。根据我在谈论CTW时的理解,ajc用于将方面编织到编译的字节码中-即:.class文件。但是,当我查看AspectJ的maven-plugin(aspectj-maven-plugin)时,发现它在generate-sources阶段运行maven,在javac编译器之前。这意味着编译器在方面编织之后运行。这是有道理的,因为您可以编织ITD、修改类成员等,Java编译器需要了解这些信息才能编译任何依赖类。所以如果是这样,并且ajc在javac之前运行,我推测ajc必须首先将所有java代码编译成字节码才能织入任何方面。那么问题来了,如果
我正在尝试将一个项目切换到Java8,但在EclipseLuna和javac的类型推断之间遇到了奇怪的差异。使用JDK1.7.0_65javac这段代码编译得很好。JDK1.8.0_11提示toString(char[])和toString(Throwable)都匹配“toString(getKey(code,null))”;线。EclipseLuna4.4(I20140606-1215)使用任一JDK都能愉快地编译它:publicclassTypeInferenceTest{publicstaticStringtoString(Objectobj){return"";}publics
我刚刚将java更新到1.8u20现在我得到了这个异常,我在使用Java1.8u05时没有得到我正在使用最新的springboot1.18和groovy2.3.7indy。有人知道这是java、spring还是groovy的问题吗?org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'validationController':Injectionofautowireddependenciesfailed;nestedexceptionisorg.springframework.
我正在使用tools.jar(即JavaCompiler)中的javac来解析java文件。我使用TreePathScanner的实现来解析源代码。到目前为止,一切似乎都很好,因为我可以解析导入、包名、类名、方法名、说明...但是我确实对内联评论有问题——我不能简单地让它们出现在创建的AST树中,或者访问它们。但是,我能够阅读类、方法等的javadoc注释,但不能阅读内联注释。如何以最好的方式阅读行内评论?我正在查看netbeans源代码(因为它也使用javac进行解析),但我无法轻易找到任何相关信息。我孤注一掷的解决方案是使用源文件的语句位置,然后手动解析两条语句之间的所有内容以获取
我想在ST3上运行java文件。我已经阅读了一份很好的ST2指南CompilingandRunningJavaCodeinSublimeText2但是在3d版本中我找不到这个配置文件。有人可以帮我解决这个问题吗? 最佳答案 我建议使用https://github.com/skuroda/PackageResourceViewer.ST3中的插件可以直接从*.sublime-package文件(重命名为zip文件)运行。您可以找到包,将其解压缩,然后将文件放在适当的位置以进行覆盖。我发布的插件简化了这个过程。
我有一些用javac1.8.0_92编译的代码:publicfinalclassEither{//...privatefinalLl;privatefinalRr;//...publicTjoin(finalFunctionf,finalFunctiong){Preconditions.checkNotNull(f);Preconditions.checkNotNull(g);returnwhich==LeftOrRight.LEFT?f.apply(l):g.apply(r);}publicOptionalleft(){returnjoin(Optional::of,x->Optio
我在环境变量中添加了路径变量'C:\ProgramFiles\Java\jdk1.6.0_21\bin',但它仍然给我这个错误:'javac'是当我尝试运行javacmycode.java时,无法识别为内部或外部命令、可运行程序或批处理文件。我要疯了,请帮忙。谢谢。 最佳答案 关闭命令提示符窗口,重新打开,使新的环境变量生效。 关于java-“javac”无法识别,我们在StackOverflow上找到一个类似的问题: https://stackoverflo